1. Technical Field:
The present invention provides an improved data processing system and in particular provides a method and apparatus for handling connections to a data processing system. Still more particularly, the present invention provides a method and apparatus for managing information used in transferring data over a connection.
2. Description of Related Art:
The Internet, also referred to as an “internetwork”, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary). When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
The Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society such as the Internal Revenue Service and secretaries of state. Providing informational guides and/or searchable databases of online public records may reduce operating costs. Further, the Internet is becoming increasingly popular as a medium for commercial transactions.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, also called simply “the Web”. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transaction using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). The information in various data files is formatted for presentation to a user by a standard page description language, the Hypertext Markup Language (HTML). In addition to basic presentation formatting, HTML allows developers to specify “links” to other Web resources identified by a Uniform Resource Locator (URL). A URL is a special syntax identifier defining a communications path to specific information. Each logical block of information accessible to a client, called a “page” or a “Web page”, is identified by a URL. The URL provides a universal, consistent method for finding and accessing this information, not necessarily for the user, but mostly for the user's Web “browser”. A browser is a program capable of submitting a request for information identified by an identifier, such as, for example, a URL. A user may enter a domain name through a graphical user interface (GUI) for the browser to access a source of content. The domain name is automatically converted to the Internet Protocol (IP) address by a domain name system (DNS), which is a service that translates the symbolic name entered by the user into an IP address by looking up the domain name in a database.
The Internet also is widely used to transfer applications to users using browsers. With respect to commerce on the Web, individual consumers and business use the Web to purchase various goods and services. This type of commerce is referred to as “e-commerce”. In offering goods and services, some companies offer goods and services solely on the Web while others use the Web to extend their reach.
With the widespread use of the Internet in commercial and business transactions, security is a concern in the transfer of data in these type of transactions. The security concern also applies to other data transfers in which privacy or security is desired. Currently, a security protocol, such as secure sockets layer (SSL), is often used to provide secure connections for data transfer. When a SSL session is started, the server sends its public key to the browser so that the browser can securely send a secret key to the server. The browser and server exchange data via secret key encryption during that session. SSL performance is becoming a factor in the ability to scale e-commerce applications. With secure connections, the most processor intensive part of a source connection, such as a SSL connection, is the initial handshake in which public key cryptography is used to exchange key material to establish a symmetric encryption pipe for the connection between two nodes, such as, a server and a client.
In scaling SSL connections for use in e-commerce, hardware acceleration is commonly used in cryptographic operations. Presently available hardware can only achieve hundreds of connections per second. Such a limitation in presently available hardware constrains the amount of scaling that may occur in SSL connections.
Therefore, it would be advantageous to have an improved method and apparatus for handling SSL connections.